package learn.up.java.strings;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Stack;

public class StringUtil2 {

	public static void main(String[] args) {
		int a[]= {1,3,5,1,8,23};
		System.out.println("��ȡ�ڶ���Ԫ��:"+Array.get(a, 1));
//		��ȡint�����Ԫ������
		Class<?> cls=a.getClass().getComponentType();
		System.out.println(cls.getName());
		System.out.println("���鳤�ȣ�"+Array.getLength(a));
		//"�޸ĵ�һ��Ԫ��"
		Array.set(a, 1, 45);
		System.out.println("�޸ĺ�ڶ���Ԫ�أ�"+Array.get(a, 1));
		//����������
		Arrays.copyOf(a, a.length+5);
		Integer i=2;
		Integer ii=2;
		System.out.println(i==ii);
		Integer j=new Integer(2);
		System.out.println(i==j);
		Stack<String> l=new Stack<String>();
		l.add("a");
		l.add("b");
		l.add("c");
//		l=(Stack<String>)Collections.unmodifiableList(l);
		//ɾ��ĩβԪ�ز����أ��Ƚ���� pop()
		System.out.println(l.pop());
		//�鿴Ԫ���±�,��1��ʼ����û�д�Ԫ�أ�����-1
		System.out.println(l.search("b"));
		Iterator<String> it=l.listIterator();
		while(it.hasNext()) {
			//�õ������������ȵõ����Ǻ�����Ԫ��
			System.out.print(it.next()+" ");
		}
		System.out.println(l.isEmpty());
		
		//map����,HashMap������ά������˳��
		Map<String,Object> m=new HashMap<String,Object>();
		m.put("Ma", 98);
		m.put("Ch",97);
		m.put("Ph", 99);
		m.put("Che", 96);
		Iterator<Entry<String,Object>> ite=m.entrySet().iterator();
		while(ite.hasNext()) {
			System.out.println(ite.next());
		}
		//LinkedHashMap������ά������˳��
		m=new LinkedHashMap<String,Object>();
		m.put("Ma", 98);
		m.put("Ch",97);
		m.put("Ph", 99);
		m.put("Che", 96);
		for(Entry<String,Object> e:m.entrySet()) {
			System.out.println(e.getKey()+":"+e.getValue());
		}
		Integer ele=(Integer)m.put("Ch",92);
		System.out.println(ele);
/*
 * ͨ��Collections��Map���Ͻ���ֻ��������֮��������
 * �ı�Ԫ�صĲ����ᱨ��:UnsupportedPerationEx..
 * ͬ���Ŀ��Զ���������list  set  ����ֻ������
 */
		m=Collections.unmodifiableMap(m);
		ele=(Integer)m.put("Ch",92);
		System.out.println(ele);
		
	}

}
